/**
 * Description:
 * Date: 2025-10-08
 * Time: 22:58
 */

public class Date {
    public int year;
    public int month;
    public int day;

    //通过方法进行初始化，如果方法的形参名与成员方法命名一致，因为此时在方法内，year、month、day都是局部变量，此时局部变量优先使用
    // 则形参会被认为是成员变量的初始值，此时的初始化没有意义
    public void setDate(int year,int month, int day){
        //若通过this关键字引用来赋值，则可以解决问题。
        //this关键字代表了当前对象的引用，区分开了形参与成员变量
        //在成员方法中，如若需使用成员变量，建议习惯性使用this来配合使用
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void printDate(){
        System.out.println(this.year + "年" + this.month + "月" + this.day + "日");
        //不加this也可以调用此方法，但加上this更好
        this.func1();

    }

    public void func1(){
        System.out.println("这个方法被this调用了");
    }
    


    public static void main(String[] args) {
        //类的初始化
            Date date = new Date();
            date.setDate(2008,8,8);
            date.printDate();
            //this关键字不能在静态方法中使用
        //System.out.println(this.day);



    }
}
